This application claims the priority of German application No. 197 48 536. 7, filed Nov. 3, 1997, the disclosure of which is expressly incorporated by reference herein.
The invention relates to a data-processing-aided electronic control system, having a multiple control unit arrangement which implements application functions and has several control units which are arranged in a distributed manner. The system has a control data transmission network which connects the control units to each other. The term xe2x80x9ccontrol systemxe2x80x9d is used in a broader sense to also include automatic control systems.
Control systems of this type are used, for example, in motor vehicles for performing control functions which are typically found in vehicles. In conventional systems, the control units are each specifically designed for one or several application functions. The implementation of a new vehicle function requires the design of a new respective control unit. Together with a new sensor and actuator configuration, this new control unit must then be installed in the vehicle.
Although the control units in modern configurations are networked, for example, via a CAN bus, no explicit interface exists for access to individual function components. As a result, the entire respective application function appears to the control unit. For implementing new so-called recombined functions, which are built from existing functions, the explicit interface must therefore be manually connected to existing functions, at a resulting high cost. This is accomplished, for example, by defining or changing corresponding CAN messages. Further disadvantageously, in order to add a single new function, this sometimes requires the changing of all of the other control units.
Together with the trend toward increasingly electronically implemented functions in motor vehicles and their increasing mutual coupling, a significant rise in complexity occurs, along with a corresponding difficulty in the development and mastery of the entire electronic system of the vehicle. Additionally, this leads to a rising demand for computing power and memory capacity. Moreover, as a result of the increasing complexity while there are simultaneously more and more series and shorter development times for these series, it is required that components should increasingly be capable of being used again in a series-spanning manner.
From pure data processing systems with distributed computer capacities, for example, for office communications and in largescale computer systems, it is known to provide so-called client/server architectures. These are used to provide, in a centralized manner, a respective service by a server (designed for this purpose) to clients requesting this service. Generally in the case of these systems, there is no real-time processing.
It is therefore an object of the present invention to provide a control system that can be used, in particular, for motor vehicles and which is also suitable for implementation of application functions in real time while requiring a relatively small computing capacity. The control system is designed to be as flexible, standardized and open as possible in order to be able to implement changes and/or updates. This is particularly true with respect to the implementation of new application functions and/or modifications of existing application functions at comparatively low expenditures.
These and other objects and advantages are achieved by providing a control system having a multiple control unit arrangement that implements application functions and which has several control units which are arranged in a distributed manner. Here, a data transmission network interconnects the several control units to each other. In this data-processing-aided electronic control system, the application functions which are implemented by the system are implemented into the multiple control unit arrangement in the form of a client/server architecture. Here, the client/server architecture is used in a so-called embedded system. Specifically, the client/server architecture is used in a system in which the electronic data processing functionality is embedded in a superset system while supporting this system, and does not appear directly to the user. An example of such a superset system is a vehicle electronic system that performs vehicle functions.
By transferring the client/server architecture known from data processing systems to the present control system, a model for the structuring of distributed applications is provided which is particularly well suited for describing event-oriented systems. Here, in contrast to conventional systems, the interfaces between client processes and server processes are primarily oriented according to services and not according to data. Via the present system, the application functions can be developed independently of the hardware and recombined relatively easily to thus produce new, higher-level application functions.
Within the framework of the client/server architecture, application functions are described which communicate with one another via defined application protocol interfaces. For this purpose, at the present time of the design, no information is currently provided concerning the type of physical communication. As a result, via the control system according to the invention, application functions can be performed in real time and implemented comparatively easily into various system designs, for example, in different series vehicles. Because of the use of the client/server architecture models, the electronic infrastructure of the control system has a flexible, standardized and open base architecture and is also particularly suited for systems with comparatively small computing power resources and inflexible software configurations. For details concerning the type of physical communication, reference is made to copending application Ser. No. 09/192,215, filed Nov. 16, 1998, titled Processor Unit for a Data-Processing-Aided Electronic Control System in a Motor Vehicle, the disclosure of which is expressly incorporated by reference herein.
In an embodiment of the control system according to the invention, the client/server architecture for a respective application function contains a function monitoring level which is situated between a client level and a server level. This function monitoring manages the global condition of the application function and therefore operates as its central switching point or memory.
In a further embodiment of the control system according to the invention, one or several of three levels, i.e., function monitoring, client or server level, is further structured in a special manner. Here, the client level may consist of requesters as sources of service demands and primary clients connected behind them. Analogously, the server level may be constructed of primary servers and fulfillers connected behind them. A primary client and the pertaining requester, or a primary server and the pertaining fulfiller, are always arranged in the same control unit. The monitoring level contains a function monitor which communicates with the primary clients, manages the global condition of the application function and monitors thereof for the management of partial functions.
The design of a function is based on a plurality of defined design elements, for example, methods and protocols, service access points and service access point interfaces, ports and port interfaces, connections, processes, frames and firmware processes.
In still another embodiment according to the invention, the service access points are characteristically designed such that they form interfaces of application processes to the layer of the ISO/OSI reference model and contain one protocol, in the monitoring client role and in the server role respectively.
In still another embodiment of the invention, the ports are designed as anchoring points for bidirectional client/server communication connections for the implementation time. These ports also represent a horizontal communication interface on the monitoring layer of the ISO/OSI reference model.
In an even further embodiment according to the invention, the processes, as design elements which contain the actual application software, are specially constructed as an outer interface, an inner structure and a specific response upon arriving service requests.
In still a further embodiment of the present invention, the control system has a real-time-capable multitasking operating system in the control units. Here, the client/server processes are implemented such that, without any direct hardware access, they utilize only the services of the operating system and a pertaining communication layer. This communication layer is based on the so-called remote procedure call (RPC) technique. With respect to this type of RPC technique, RPC is known from data processing systems with a client/server architecture for such a communication between client/server processes.
In yet a further embodiment according to the invention, a corresponding RPC library is provided which contains a complete server code that is integrated exactly once per control unit and processed by all client and server processes. This minimizes resource requirements and simultaneously maximizes the reusability.
According to a further embodiment of the invention, the initialization of the server takes place in four special phases.
According to another embodiment of the invention, the remote procedure call (RPC) is implemented as a synchronous RPC, an asynchronous RPC or a one-way RPC.
In still another embodiment of the invention, a minimal or resource-optimized protocol implementation is provided which assigns an identifying service number to each method. Here, the message type, as well as the service number and the transferring data are coded in the user data of the transmitted messages or application data. The thus implemented protocol can be used, for example, on a CAN bus.
Other objects, advantages and novel features of the present invention will become apparent from the following detailed description of the invention when considered in conjunction with the accompanying drawings.